#study2从 人机对话 到 运算符及相关内容 。

#人机对话
present=input('test')#发出疑问，等待响应
print(present)#输出人的回复
#input函数的高级使用（运算）
a=float(input('输入一个数'))
b=float(input('再输入一个数'))
print('≈',int(a+b))#这里的例子是加法运算

#运算符:“+”、“-”、“*”、“/”、“//”（整除运算）、“%”（取余运算）、“**”（幂运算）
#例子：a、b的除法（商+余数的形式）
print(int(a//b),'……',int(a%b),)#注：当被除数或被除数为小数时，取余运算符输出为“0”;当被除数与除数一正一负的时候向下取整
#赋值运算符（运算顺序    从右往左执行）
c=a-b
print('≈',int(c))
#链式赋值
x1=x2=x3=c
print(x1,id(x1),x2,id(x2),x3,id(x3))
#参数赋值（解方程）
a+=int(c)
print(a)#此时输出a的结果为原来的a与int(c)的和
a-=int(c)
print(a)#此时a的结果又回到了原来的值
#系列解包赋值
x4,x5,x6=a,b,c#x4=a,x5=b,x6=c
print(x4,x5,x6)
#利用系列解包赋值来交换数值的位置
x4,x5,x6=x6,x5,x4
print(x4,x5,x6)

#比较运算符：“<＂、＂>＂、＂<=＂、＂>=＂、“!=”、“==”（比较的是变量的值）
print(x4>x5)#计算机比较x4与x5，返回值（输出）True/False
#比较变量的标识
print(a is b)
print(a is not b)
#还没学的数组大小比较的代码
m=[x1,x2,x3]
n=[x4,x5,x6]
print(m==n)
print(m is n)
print(id(m),id(n))

#布尔运算符(and=与、or=或、not=非)
B1,B2=True,False
print(B1!=True and B2==False)#逻辑电路的规则，就不用bb了吧
print(B1!=True or B2==False)
print(not B1,not B2)
#in 与 not in 的讲解
name='test'
print('t' in name,'s' not in name)#意思：'t'这个字母在name中有吗？'s'这个字母在name中没有吗？
#感觉很不齐全，我至少要把异或门与蕴含非门补上

#位运算符（位与运算‘&’、位或运算‘|’、左移运算‘<<’、右移运算‘>>’）
print(int(a)&int(b),int(a)|int(b))
print(int(a)<<int(b))#a向左移动b个位置

#运算的优先级：（……）>算数运算>位运算>比较运算>布尔运算>赋值运算

#补充：异或运算
print(1^1)#'^'为异或运算符